<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    // const obj = {
	// 	username:"zhangsan"
    // }
    // // defineProperty对象属性的拦截器。
    // // 第一个参数是要拦截的对象，第二个参数是要拦截的属性，第三个参数是描述对象
    // Object.defineProperty(obj,"username",{
	// 	get(){
	// 		// 返回的值即是读取的值
	// 		console.log("get");
	// 		return 100;
    //     },
    //     set(){
	// 		console.log("set");
    //     }
    // });
	// // 判断 传递参数 输出
	// // console.log(obj.username);// zhangsan
    // // obj.username = "lisi";
	// // console.log(obj.username);// ?



    const obj = {
		bookName:"钢铁是怎样炼成的"
    }
	const historyArr = [obj.bookName];
	let _bookName = obj.bookName;
	Object.defineProperty(obj,"bookName",{
		get(){
			return _bookName;
        },
        set(v){
			historyArr.push(v);
			_bookName = "《"+v+"》"
        }
    });
	obj.bookName = "天龙八部";
	obj.bookName = "射雕英雄传";
	obj.bookName = "水浒传";
	console.log(obj.bookName);// ?
	console.log(historyArr)
</script>
</html>